package com.sz.biz.common.project.service;

import com.sz.biz.common.project.dto.TrdProjectKpiDto;
import com.sz.biz.common.project.entity.TrdProjectKpi;
import com.sz.common.base.dto.QResultDto;
import com.sz.common.base.dto.QueryParams;
import com.sz.common.base.dto.ResultDto;

import java.util.List;

/**
 * Function: TODO: ADD FUNCTION <br>
 * 贸易关键指标service
 *
 * @author fengwj <br>
 * Date: 2017-12-11 15:40:00
 */
public interface TrdProjectKpiService {

    /**
     * 保存
     *
     * @param trdProjectKpiDto trdProjectKpi
     * @return 新增是否成功
     * @author Fengwj
     * @date 16:54 2017/12/11
     */
    Integer save(TrdProjectKpiDto trdProjectKpiDto);

    /**
     * 批量保存
     *
     * @param trdProjectKpis trdProjectKpis
     * @return 新增是否成功
     * @author Fengwj
     * @date 16:54 2017/12/11
     */
    Integer batchSave(List<TrdProjectKpi> trdProjectKpis);

    /**
     * 保存
     *
     * @param trdProjectKpi  trdProjectKpi
     * @return 新增是否成功
     * @author Fengwj
     * @date 16:54 2017/12/11
     */
    Integer insert(TrdProjectKpi  trdProjectKpi );
    /**
     * 修改
     *
     * @param trdProjectKpiDto trdProjectKpi
     * @return 修改是否成功
     * @author Fengwj
     * @date 16:53 2017/12/11
     */
    Integer update(TrdProjectKpiDto trdProjectKpiDto);

    /**
     * 按id查询
     *
     * @param id id
     * @return trdProjectKpi
     * @author Fengwj
     * @date 16:57 2017/12/11
     */
    TrdProjectKpi findById(Integer id);

    /**
     * 按id删除
     *
     * @param id id
     * @author Fengwj
     * @date 17:00 2017/12/11
     */
    void deleteById(Integer id);

    /**
     * 按时间倒序查询所有指标列表
     *
     * @param queryParams 分页参数
     * @return QResultDto 查询结果列表
     * @author Fengwj
     * @date 14:46 2017/12/12
     */
    QResultDto getTrdProjectkpiList(QueryParams queryParams);

    /**
     * 按时间倒序查询最新的3个指标列表
     *
     * @return QResultDto 查询结果列表
     * @author Fengwj
     * @date 18:04 2017/12/12
     */
    ResultDto getNewestList();

    /**
     * 根据主键id集合假删除数据
     * @param ids 主键id集合
     * @author Fengwj
     * @date 16:28 2017/12/13
     */
    void batchDelete(List<Integer> ids);
}
